﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.WindowsAzure.ServiceRuntime;
using System.Reflection;
using System.ComponentModel;
using Entidades;

namespace EvaluacionWebRole
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }       
        
        protected void btnIniciar_Click(object sender, EventArgs e)
        {
            string codigoExamen = txtCodigoExamen.Text;

            //var ec = new LogicaDeNegocios.ExamenesCodigos();            
            var ec = new ServicioExamenesCodigos.ExamenesCodigosClient();
            
            var eci = ec.ObtenerInformacionExamenCodigo(txtCodigoExamen.Text);            

            if (eci != null)
            {
                SetCookie("ClaveExamen", eci.ExamenClave);
                SetCookie("CodigoExamen", codigoExamen);

                if (eci.ExamenTipoEstado == TipoEstadoExamen.Aprobado.ToString())
                {
                    Response.Redirect("Resultado.aspx");
                }
                    if (eci.IntentosRealizados >= eci.NumeroMaxIntentos)
                    {
                        Response.Redirect("Resultado.aspx?Mensaje=Intento no permitido");                        
                    }
                    else
                    {                     
                        Response.Redirect("Inicio.aspx");                        
                    }
                
            }
            else
            {
                Response.Redirect("Resultado.aspx?Mensaje=El código no es válido");                        
            }


        }

        #region Cookies
        private string GetCookieString(string keyName)
        {
            if (Request.Cookies[keyName] != null)
            {
                return Request.Cookies[keyName].Value;
            }

            return "Unknown";
        }

        private int GetCookieInt(string keyName)
        {
            if (Request.Cookies[keyName] != null)
            {
                return int.Parse(Request.Cookies[keyName].Value);
            }

            return 0;
        }

        private void SetCookie(string keyName, string value)
        {
            Response.Cookies[keyName].Value = value;
        }
        
        #endregion
    }
}